package com.cmict.data.form.api.mapper;

import com.cmict.data.form.api.entity.SysTableColumn;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.*;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * Mapper 接口
 *
 * @Author qiaoyu
 * @since 20212-3-15
 */
@Mapper
public interface SysCurrencyMapper extends BaseMapper<Object> {


	@Select("${sql}")
    @DS("slave")
	List<String> getTableNameList(String sql);

    @Select("${sql}")
    @DS("slave")
    String getTableNameOne(String sql);

    @Select("${sql}")
    @DS("slave")
    String getDataIdOrderBy(String sql);

    @Insert("${sql}")
    @DS("slave")
    Long createData(String sql);

    @Insert("${sql}")
    @DS("slave")
    void insertData(String sql);

    @Select("${sql}")
    @DS("slave")
    String getInsertDataId(String sql);

    @Update("${sql}")
    @DS("slave")
    void upData(String sql);

    @Delete("${sql}")
    @DS("slave")
    void deleteData(String sql);

    @Delete("${sql}")
    @DS("slave")
    void deleteDataAll(String sql);

	@Select("${sql}")
    @DS("slave")
	Map<Object, Object> getDataOne(String sql);


    @Select("${sql}")
    @DS("slave")
    List<Map<String,Object>> selectData(String sql);

    @Select("${sql}")
    @DS("slave")
    List<Map<String,Object>> getDataOut(String sql);

    @Select("${sql}")
    @DS("slave")
    List<Map<String,Object>> selectVersionData(String sql);

    @Select("${sql}")
    @DS("slave")
    List<String> selectDataAndChild(String sql);

    @Select("${sql}")
    @DS("slave")
    List<Map<Object,Object>> selectChildData(String sql);

    @Select("${sql}")
    @DS("slave")
    List<SysTableColumn> getColumn(String sql);

    @Select("${sql}")
    @DS("slave")
    List<String> getColumnName(String sql);

    @Select("${sql}")
    @DS("slave")
    List<Map<Object,Object>> getLinkageData(String sql);

    @Select("${sql}")
    @DS("slave")
    List<Map<Object,Object>> getRelationData(String sql);

    @Select("${sql}")
    @DS("slave")
    List<Map<Object, Object>> getCascadeData(String sql);

    @Select("${sql}")
    @DS("slave")
    String catascadeValue(String sql);

    @Select("${sql}")
    @DS("slave")
    List getColumnNameClean(String sql);

    @Update("${sql}")
    @DS("slave")
    void alterTableName(String sql);

    @Update("${sql}")
    @DS("slave")
    void alterTableSt(String sql);

    @Select("${sql}")
    @DS("slave")
    List<String> getTableName(String sql);

    @Select("${sql}")
    @DS("slave")
    Set<String> getData(String sql);

    @Select("${sql}")
    @DS("slave")
    List<Map<String,Object>> getDataSelect(String sql);

    @Select("${sql}")
    @DS("slave")
    String getColumnFormula(String sql);

    @Select("${sql}")
    @DS("slave")
    String getMaxColumn(String sql);

    @Select("${sql}")
    @DS("slave")
    String getFieldDataByDashboard(String sql);

    @Select("${sql}")
    //@DS("slave")
    List<String> selectData2(String sql);

    @Select("${sql}")
    @DS("slave")
    List<Map<Object,Object>> dataRepeatCheck(String sql);

    @Select("${sql}")
    @DS("slave")
    Map<Object, Object> fromSubmitCheck(String sql);

    @Select("${sql}")
    @DS("slave")
    List<Map<String,Object>> getDistanceData(String sql);

    @Select("${sql}")
    @DS("slave")
    void updatatablename(String sql);

    @Select("${sql}")
    @DS("slave")
    Map<Object, Object> getDataSunRemoval(String sql);

    @Select("${sql}")
    @DS("slave")
    String getShowAssociatedByEncode(String sql);

    @Select("${sql}")
    @DS("slave")
    List<Map<String, Object>> isDataRepeat(String sql);

    @Select("${sql}")
    @DS("slave")
    String getDataId(String sql);

    @Select("${sql}")
    @DS("slave")
    String getCreator(String sql);

    @Select("${sql}")
    String getMinio(String sql);
}
